package OBJ_Loader;

import org.lwjgl.util.vector.Vector3f;

/**
 *  
 * @author Marcin & Bartek
 * 
 * @description Object which defines light/material/textures faces
 * 
 */
public class Face {
    private Vector3f vecI = new Vector3f();
    private Vector3f normI = new Vector3f();
    private Vector3f texI = new Vector3f();
    private Material m=null;
    private boolean textured=false;
    private int normal;
    public Face(Vector3f v, int n){
        vecI=v;
        normal=n;
    }
    public Face(Vector3f v, Vector3f n){
        vecI=v;
        normI=n;
    }
    public Face(Vector3f v, Vector3f n, Vector3f t,Material m){
        vecI=v;
        normI=n;
        texI=t;
        this.m=m;
        textured = true;
    }

    /**
     * @return the vecI
     */
    public Vector3f getVecI() {
        return vecI;
    }

    /**
     * @param vecI the vecI to set
     */
    public void setVecI(Vector3f vecI) {
        this.vecI = vecI;
    }

    /**
     * @return the normI
     */
    public Vector3f getNormI() {
        return normI;
    }

    /**
     * @param normI the normI to set
     */
    public void setNormI(Vector3f normI) {
        this.normI = normI;
    }

    /**
     * @return the texI
     */
    public Vector3f getTexI() {
        return texI;
    }

    /**
     * @param texI the texI to set
     */
    public void setTexI(Vector3f texI) {
        this.texI = texI;
    }

    /**
     * @return the m
     */
    public Material getM() {
        return m;
    }

    /**
     * @param m the m to set
     */
    public void setM(Material m) {
        this.m = m;
    }

    /**
     * @return the textured
     */
    public boolean isTextured() {
        return textured;
    }

    /**
     * @param textured the textured to set
     */
    public void setTextured(boolean textured) {
        this.textured = textured;
    }

    /**
     * @return the normal
     */
    public int getNormal() {
        return normal;
    }

    /**
     * @param normal the normal to set
     */
    public void setNormal(int normal) {
        this.normal = normal;
    }
}
